home *** CD-ROM | disk | FTP | other *** search
/ JCSM Shareware Collection 1996 September / JCSM Shareware Collection (JCS Distribution) (September 1996).ISO / prgtools / pbvl010.zip / WINDEMO2.BAS < prev    next >
BASIC Source File  |  1994-02-10  |  3KB  |  111 lines

  1. '┌─────────────────────────────────────────────────────────────────────────┐
  2. '│    FILE: WINDEMO2.BAS                                                   │
  3. '│ PURPOSE: PB/VISION(tm) LITE Example Program                             │
  4. '├─────────────────────────────────────────────────────────────────────────┤
  5. '│ For instant help on any PB/VISION(tm) keyword, place the cursor on that │
  6. '│ keyword and press <CTRL-F1>.  The PB/VISION(tm) index can be accessed   │
  7. '│ by pressing <SHIFT-F1> twice.  The file "PBVLITE.PBH" _must_ be in the  │
  8. '│ same directory as the PowerBASIC IDE (PB.EXE) for this feature to work  │
  9. '│ properly.                                                               │
  10. '└─────────────────────────────────────────────────────────────────────────┘
  11.  
  12. '       ==================================================
  13. '       BE SURE TO RUN "DEMO.EXE" FOR INFORMATION ON OTHER
  14. '       PowerBASIC 3.0 TOOLS FROM DSE SOFTWARE PUBLISHING.
  15. '       ==================================================
  16.  
  17. %ISPBU = 0
  18.  
  19. $INCLUDE ".\WINDOW.BI"
  20. $INCLUDE ".\EVENT.BI"
  21.  
  22.     DEFINT A-Z
  23.     $DYNAMIC
  24.  
  25.     SHARED Win1%, Win2%, Win3%
  26.  
  27.     APPTITLE &HE0, "WINDEMO2.BAS - A PB/VISION(tm) LITE DEMO - PRESS <ESC> TO QUIT"
  28.  
  29.     APP.GraphicsMode = 1
  30.  
  31.     APPINIT
  32.  
  33.     winFlags = %SHADOW
  34.  
  35.     Win1 = WINOPEN (22, 76, attr(15,9), 1, attr(15, 9), "WINDOW A", attr(15,8), 0)
  36.     Win2 = WINOPEN (22, 76, attr(0,10), 1, attr(0, 10), "WINDOW B", attr(15,12), winFlags)
  37.     Win3 = WINOPEN (22, 76, attr(7,1), 1, attr(7, 1), "WINDOW C", attr(0,14), winFlags)
  38.     Win4 = WINOPEN (10, 35, attr(7,4), 1, attr(15,4), "WINDOW C", attr(15,13), winFlags)
  39.  
  40.     WINSHOW Win1, 2, 2, 21, 78
  41.     WINSHOW Win2, 5, 5, 12, 24
  42.     WINSHOW Win3, 7, 52, 12, 24
  43.     WINSHOW Win4, 12, 23, 10, 35
  44.  
  45.     OPEN "VENDINFO.DIZ" FOR INPUT AS 1
  46.  
  47.     FOR X = 1 TO 21
  48.         LINE INPUT #1, A$
  49.         WINWRITELN win1, A$
  50.         WINWRITELN win2, A$
  51.         WINWRITELN win3, A$
  52.     NEXT
  53.  
  54.     CLOSE 1
  55.  
  56.     row = 1
  57.     col = 1
  58.  
  59.     WHILE INKEY$ = ""
  60.  
  61.         SELECT CASE row
  62.             CASE 1
  63.                 cdirection = 1
  64.             CASE 9
  65.                 rdirection = 0
  66.                 cdirection = -1
  67.             CASE ELSE
  68.  
  69.         END SELECT
  70.  
  71.         col = col + cdirection
  72.  
  73.         SELECT CASE col
  74.             CASE 1
  75.                 rdirection = -1
  76.                 cdirection = 0
  77.             CASE 55
  78.                 cdirection = 0
  79.                 rdirection = 1
  80.             CASE ELSE
  81.  
  82.         END SELECT
  83.  
  84.         row = row + rdirection
  85.  
  86.         IF (row = 1) AND (col = 1) THEN
  87.             rdirection = 0
  88.             cdirection = 0
  89.         END IF
  90.  
  91.         WINREFRESHMODE 0        ' <= DISABLE WINDOW REFRESHING
  92.  
  93.         WINVIEWPORT Win2, row, col    ' <= ADJUST WINDOW VIEWPORT
  94.         WINVIEWPORT Win3, row, col
  95.  
  96.         WINWRITECHAR win4, 65 + INT(RND*26)
  97.  
  98.         WINREFRESHMODE 1        ' <= RE-ENABLE WINDOW REFRESHING
  99.  
  100.         WINREFRESH Win1            ' <= UPDATE THE WINDOW(S)
  101.  
  102.     WEND
  103.  
  104.     WINCLOSE Win1
  105.     WINCLOSE Win2                ' <= CLOSE OUR WINDOWS
  106.     WINCLOSE Win3
  107.  
  108.     APPCLOSE
  109.  
  110.     END
  111.